4 - Secure Multi-Party Computation [ID:32094]
50 von 479 angezeigt

Decients, welcome back to the lecture Secure Multi-Party Computation.

So in the previous lecture we continued our past towards building a secure to party computation

protocol. So in the last lecture we studied the notion of private key encryption schemes.

We will need this notion when we are starting to discuss the Ausgabe circuit. And there

in particular we will use the encryption scheme to encrypt gates of the circuit.

Today we introduce another cryptographic building block of the Ausgabe circuit and this is a

cryptographic protocol called Oblivious Transfer. Oblivious Transfer is a pretty cool protocol.

So what Oblivious Transfer allows you to do is the following. We have two parties, Alice

and Bob, as always, and Alice holds two secrets, say X0 and X1. And now Bob wishes to learn

one of them, XB, depending on his own input B, in such a way that Alice doesn't really

know which one of both he actually learned. On the other hand Alice is only willing to

give out one of them. So this is a cryptographic building block that is extremely cool. So

with Oblivious Transfer there exists a beautiful result that shows Oblivious Transfer is complete.

That means if Oblivious Transfer exists, then purely on this assumption you can securely

realize any cryptographic object, any functionality. Amazing, right? Such a beautiful primitive.

How do we construct Oblivious Transfer? Well, we will need something a little bit stronger

than you have seen before. In particular we will need a cryptographic primitive called

a trapdoor permutation. So trapdoor permutation is a permutation that has this additional

property that there exists a trapdoor. And if you know the trapdoor, then inverting a

trapdoor permutation, inverting this function is computationally easy. The only instance

that we know so far is based on RSA. Nevertheless, we introduced this in generality. Maybe you

find a new instance that would definitely be interesting for the broad audience. So

thank you again for watching. I hope you enjoyed the video so far and I look forward to seeing

you in the question and answer session. So we begin with the introduction of a cryptographic

primitive called trapdoor permutations. To introduce this primitive let me recall of

a one-way function respectively a one-way permutation. So this was a cryptographic object

of function f that is easy to compute, let's say given a string. But the security notion

essentially says that if I give this string here to an adversary, then for the adversary

it is computationally hard to output some value x' such that f of x, namely this value

below, equals 2f of x'. So this might be a permutation, right? We can define the same

notion for permutations. And now we are considering something slightly stronger and this is called

a trapdoor permutation. So the difference is here that for one-way functions in general

this going back, this intuition of going back is in general hard. So regardless of whether

there exists some private information going back is hard. In contrast a trapdoor function

or in this case a trapdoor permutation, it can essentially be computed in two ways. The

same way here if we basically insert x then we get f of x but it also has a different

mode of computation and this is called in this case let's say invert. And invert requires

the private trapdoor. And if you have this private trapdoor you can essentially insert

f of x and since it's a permutation in this case you will end up with the same x. So trapdoor

permutations are mainly known to exist from the RSA assumption as we will see later. So

we will start with the following definition that introduces trapdoor permutations following.

So we say a trapdoor permutation f is a tuple of efficient algorithms

and here we introduce the algorithms gen, sample, eval and invert. And these algorithms

have the following property. We start with the generation algorithm. The key generation

algorithm outputs a pair i and td where you can really think of i as being an index that

points to a certain function. So i defines a particular permutation f i over some domain

di and td is essentially a trapdoor.

So, the next algorithm that we introduce is a sample algorithm. And this we have already

seen when we discussed the notion of one-way functions.

So,

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:19:56 Min

Aufnahmedatum

2021-05-03

Hochgeladen am

2021-05-03 02:16:53

Sprache

en-US

Einbetten
Wordpress FAU Plugin
iFrame
Teilen